package com.cy.store.mapper;

import com.cy.store.entity.Address;

import java.util.Date;
import java.util.List;

public interface AddressMapper {
    /**
     * 插入新地址
     * @param address
     * @return
     */
    Integer insert(Address address);

    /**
     * 统计用户的收货地址数量
     * @param uid
     * @return
     */
    Integer countByUid(int uid);

    /**
     * 得到用户的所有地址
     * @param uid
     * @return
     */
    List<Address> findByUid(int uid);

    /**
     * 根据aid查询收货地址数据
     * @param aid
     * @return
     */
    Address findByAid(Integer aid);

    /**
     * 根据uid把用户的收货地址设置为非默认
     * @param uid
     * @return
     */
    Integer updateNonDefault(Integer uid);

    /**
     * 根据aid设置默认地址
     * @param aid
     * @return
     */
    Integer updateDefaultByAid(Integer aid, String modifiedUser, Date modifiedTime);

    /**
     * 根据aid删除地址数据
     * @param aid
     * @return
     */
    Integer deleteByAid(Integer aid);

    /**
     * 查询用户最后一次修改的收货地址
     * @param uid
     * @return
     */
    Address findLastModified(Integer uid);
}
